home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / viewers / polyview / plyvw102.lha / PolyView1.02 / polyview.1 < prev    next >
Text File  |  1991-07-02  |  16KB  |  466 lines

  1. 1.1    NCSA PolyView
  2.  
  3.  
  4. NCSA PolyView Basics    1.1
  5.  
  6.  
  7. National Center for Supercomputing Applications
  8.  
  9. August 1990
  10.  
  11.                                                                 
  12.  
  13.  
  14.  
  15.  
  16.  
  17. 1.1    NCSA PolyView
  18.  
  19.  
  20. NCSA PolyView Tutorial    1.1
  21.  
  22.  
  23. August 1990
  24.  
  25.  
  26.  
  27.  
  28. Chapter 1    NCSA PolyView Tutorial
  29.  
  30.  
  31.  
  32. Chapter Overview
  33. Starting NCSA PolyView
  34. Getting Around
  35. Camera Movement
  36. Palette Manipulation
  37. Using the View Menu
  38. Drawing Options
  39. Viewing Projections
  40. Shading Data
  41. Creating Overlays
  42. Animating Datasets
  43. Taking a Flight
  44. Taking Snapshots
  45. Using Other Options
  46. Exiting NCSA PolyView
  47.  
  48. Chapter Overview
  49.  
  50. This chapter offers a tutorial which introduces some of NCSA 
  51. PolyView's capabilities.
  52.  
  53. The tutorial assumes that you are able to work with 4Sight, the SGI 
  54. window manager, and IRIX, the SGI version of UNIX. If you are 
  55. unfamiliar with either system, please refer to their respective 
  56. documentation.
  57.  
  58.  
  59. Starting NCSA PolyView
  60.  
  61. This section describes how to start PolyView using a sample data 
  62. file. Please refer to Appendix A, "Installing NCSA PolyView," if 
  63. you need information on installation procedures.
  64.  
  65. The following steps explain how to run PolyView using data 
  66. provided for the tutorial:
  67.  
  68. 1.    Begin by moving to the directory that contains PolyView and 
  69. the tutorial files. If you built the PolyView tar file from 
  70. anonymous FTP or loaded a directory from source tapes, the 
  71. directory should be named src.
  72.  
  73. 2.    Enter an ls command at the prompt to get a listing of the 
  74. directory's contents. For this tutorial, you'll work with the 
  75. HDF Vset file demo.hdf and the associated fly file demo.fly.
  76.  
  77.     If demo.hdf is missing, run make again and it will generate 
  78. the file.
  79.  
  80. 3.    Enter polyview -hdf demo.hdf -scalar random -fly 
  81. demo.fly at the prompt, where:
  82.  
  83. Ñ    polyview is the name of the program
  84.  
  85. Ñ    -hdf demo.hdf tells the program to read data from the 
  86. demo.hdf file
  87.  
  88. Ñ    -scalar random tells the program to load a vdata called 
  89. random from the file and use it as a set of scalar values
  90.  
  91. Ñ    -fly demo.fly tells the program that the name of the file 
  92. used to script fly-bys is demo.fly.
  93.  
  94. PolyView reads the file's contents and list the names of vdatas as 
  95. it loads them.
  96.  
  97. A red outline of the View window  appears. Moving the mouse 
  98. allows you to drag the outline to where you want the window to be 
  99. placed.
  100.  
  101. 4.    Click the left button when the window is where you want it. The 
  102. shaded border and title of the window will appear, but the 
  103. window will remain empty for now. The file name 
  104. "demo.hdf" should be visible in the title bar. 
  105.  
  106. A red outline of the Palette window  appears. Place it the same way 
  107. you placed the View window.
  108.  
  109. PolyView now fills in the View and Palette windows. Initially, the 
  110. View window displays a title screen (Figure 1.1). Click the left 
  111. button within the window to remove this screen.
  112.  
  113.  
  114. Figure 1.1    View Window
  115.                                         
  116.  
  117.  
  118. The View window displays the demonstration dataset that 
  119. PolyView loaded. When the program starts up, the program 
  120. chooses a default camera location and set of  viewing parameters 
  121. (Figure 1.2).
  122.  
  123.  
  124. Figure 1.2    Initial View
  125.                               
  126.  
  127.  
  128. The Palette window displays a bar reflecting the current palette 
  129. (Figure 1.3). The bar is labelled with values corresponding to 
  130. range of colors in the palette and the image.
  131.  
  132. Figure 1.3    Palette Window
  133.                 
  134.  
  135.  
  136. Getting Around
  137.  
  138. This section of the tutorial demonstrates how to interact with the 
  139. data using the mouse and pop-up menus.
  140.  
  141. Note that mouse control, menus, and command line parameters 
  142. all allow you to control viewing parameters. However, this section 
  143. only focuses on the interactive features of PolyView. For more 
  144. information on command lines, refer to Chapter 2, "Command 
  145. References."
  146.  
  147. This portion of the tutorial assumes that PolyView is running 
  148. using the demonstration data, as described in the previous section.
  149.  
  150.  
  151. Camera Movement
  152. The initial view of the data is chosen automatically by the 
  153. program. The view is defined by two things:  your camera position 
  154. and the focus of the camera's attention (these are also referred to as 
  155. the from and at points, respectively).
  156.  
  157. The camera position determines where the image in the View 
  158. window is "taken from." The camera's focus determines what the 
  159. camera is "pointing at" when the image is generated. Try 
  160. manipulating the camera position and the focus.
  161.  
  162. Place the cursor arrow in the center of the View window. Move the 
  163. camera in towards the focus by holding down the left mouse button 
  164. and pushing the mouse backward. You should see the row of cubes 
  165. moving closer.
  166.  
  167. Move the camera back from the focus by holding down the left 
  168. mouse button again, but this time moving the mouse forward. The 
  169. row of cubes should move farther away from the camera.
  170.  
  171. Move the camera around the focus point by holding down the 
  172. middle mouse button and moving the mouse. Moving the mouse 
  173. left and right shifts the camera so that the data appears to rotate to 
  174. the left or right.
  175.  
  176. Likewise, moving the mouse forward or backward moves the 
  177. camera, giving the illusion that the data is rotating up or down 
  178. around the focus point .
  179.  
  180. Experiment with using the left and middle mouse buttons to 
  181. maneuver the camera around the data. Try to move the camera to 
  182. produce views that you are interested in. See if you can position the 
  183. camera inside the tunnel of cubes or in top, side, front, and 
  184. isometric views.
  185.  
  186.  
  187. Palette Manipulation
  188. Moving the camera around the data provides fresh perspectives on 
  189. the data's geometry. You can gain additional insight into the 
  190. distribution of scalar values from using features available in the 
  191. Palette window.
  192.  
  193. Move the cursor into the Palette window. Note again how the scalar 
  194. values are mapped to the colors in the palette, with the smallest 
  195. scalar values corresponding to the lowest  palette colors and the 
  196. largest scalar values corresponding to the highest palette colors.
  197.  
  198. Hold down the right mouse button. The palette menu appears 
  199. (Figure 1.4). The palette menu allows you to change the currently 
  200. active palette by selecting a new one from its list. Choose the gray 
  201. palette by moving the cursor over it and releasing the mouse 
  202. button. The color bar changes to a grey-scale palette. Note that the 
  203. colors in the image have changed to the corresponding palette.
  204.  
  205. Figure 1.4    Palette Submenu
  206.                   
  207.  
  208.  
  209. With the cursor in the Palette window, hold down the middle mouse 
  210. button. This action places the Palette window in fiddle mode. 
  211. Moving the mouse forward and backward shifts the colors in the 
  212. palette up and down the scale. While you shift the palette, watch 
  213. what effect it has on the data in the View window.
  214.  
  215. Once again, with the cursor in the Palette window, hold down the 
  216. middle mouse button. Move the mouse left and right. Observe how 
  217. the palette in both the Palette and View windows compresses and 
  218. expands as the mouse moves.
  219.  
  220. Experiment  with the fiddle feature to draw out details in the 
  221. random scalar values that are displayed as color. Try changing 
  222. the camera position to see how "fiddling" affects different areas of 
  223. the data. When you are done, choose rainbow from the palette menu 
  224. to return the palette to normal.
  225.  
  226.  
  227. Using the View Menu
  228.  
  229. Besides manipulating a palette, you can change other image 
  230. parameters in the View menu to make it much easier to 
  231. understand what is happening to scalar values in an image 
  232. dataset.
  233.  
  234. Display the View menu (Figure 1.5) by moving the cursor into the 
  235. View window and holding down the right mouse button. 
  236.  
  237. The View menu contains a number of options for changing the 
  238. appearance of the data. The first five options control display 
  239. parameters. The next set of menu items allow you to control 
  240. animation; toggle a flight; pop or redraw a window; reset the 
  241. window's display parameters; or write the image to an HDF raster 
  242. image file.
  243.  
  244. Figure 1.5    View Menu
  245.          
  246.  
  247.  
  248. Drawing Options
  249. PolyView displays polygons, if possible, when the program starts 
  250. up. Move the cursor to the draw submenu and choose the  points 
  251. option (Figure 1.6). The data in the View window should change to 
  252. a set of dots, one at each polygon vertex.
  253.  
  254. Figure 1.6    Draw Submenu
  255.                   
  256.  
  257.  
  258. Displaying images as points is useful for positioning large sets of 
  259. data. It can be difficult to move the camera interactively while 
  260. drawing polygons, since they take longer to draw. Try moving the 
  261. camera and notice how much faster the screen redraws when you 
  262. choose the points option.
  263.  
  264. Occasionally it is desirable to display 3D data that has no 
  265. connectivity information associated with it. In these cases, 
  266. PolyView defaults to drawing points.
  267.  
  268. Choose lines from the draw submenu. PolyView redraws the data 
  269. in wireframe. Like the points option, lines display large sets of 
  270. data more quickly than polygons. In addition, lines have the 
  271. added benefit of displaying how the points are connected.
  272.  
  273. Choose polygons from the draw submenu. The View window again 
  274. displays filled polygons.
  275.  
  276.  
  277. Viewing Projections
  278. Up until this point in the tutorial, the program has drawn all the 
  279. images using a perspective projection; that is, polygons closest to 
  280. the camera appear larger, while more distant objects appear 
  281. smaller. You can choose different viewing projections from the 
  282. project submenu.
  283.  
  284. The project submenu (Figure 1.7) allows you to change the 
  285. projection used when drawing the data. Choose the orthographic 
  286. option from this submenu. PolyView uses the orthographic 
  287. projection to redraw the displayed data. Try moving the camera 
  288. with this new projection to see how it differs from a perspective 
  289. projection.
  290.  
  291. Figure 1.7    Projections 
  292. Submenu
  293.                   
  294.  
  295.  
  296. Choose the perspective option from the project submenu to restore the 
  297. view to its initial projection.
  298.  
  299.  
  300. Shading Data
  301. At this point, polygons in the image should have a smoothly colored 
  302. appearance. Colors are interpolated across their surfaces using 
  303. gouraud shading. You can control polygonal shading using the 
  304. shade submenu (Figure 1.8).
  305.  
  306. Figure 1.8    Shade Submenu
  307.                   
  308.  
  309.  
  310. Choose the constant option from the shade submenu. The polygons 
  311. in the image lose their smeared appearance and gain constant 
  312. color values. PolyView averages the color values at the vertices to 
  313. produce the constant color used in the new image.
  314.  
  315. Constant shading also makes the outline of individual polygons 
  316. more apparent.
  317. This shading also has an interesting effect on the data when it is 
  318. displayed in lines mode. Choose the lines option from the draw 
  319. submenu. Notice that the View window now displays the data as a 
  320. wireframe drawn in white.
  321.  
  322. Choose the polygons option from the draw submenu to return to 
  323. constant shaded polygons. Next choose the gouraud option from the 
  324. shade submenu to return the View window to its initial state.
  325.  
  326. NOTE:  Look at the palette submenu and note that it is the same 
  327. menu available from the Palette window. These identical menus 
  328. let you avoid returning to the Palette window when experimenting 
  329. with the palette.
  330.  
  331.  
  332. Creating Overlays
  333. Thus far, PolyView has only displayed image data in the View 
  334. window. The program, however, allows you to add other elements 
  335. to the display to aid in its understanding. You can choose these 
  336. options from the overlay submenu (Figure 1.9).
  337.  
  338. Figure 1.9    Overlay Submenu
  339.                   
  340.  
  341.  
  342. Begin by selecting the at point option from the submenu. A six-
  343. pointed, 3D "jack") appears at the center of the scene in the View 
  344. window. This jack is the focus of the camera's attention. Try 
  345. moving the camera and notice how the point remains stable in 3D 
  346. space.
  347.  
  348. Select the at point option again, and notice that the jack has 
  349. disappeared from the View window. All options in the overlay 
  350. submenu toggle on and off, and work in a similar fashion.
  351.  
  352. Choose axes from the overlay submenu. A set of 3D axes appears, 
  353. with their origin located at the minimal corner of the data (i.e., the 
  354. point with the smallest x, y, and z coordinates in the dataset). The 
  355. axes are labelled with the names of the vdatas used to determine 
  356. each coordinate. In the currently displayed demonstration file, 
  357. those vdatas/axes are px, py, and pz.
  358.  
  359. With the axes still displayed, choose the labels option from the 
  360. overlay submenu. The labels that were displayed at the end of the 
  361. axes disappear.
  362.  
  363. Now choose the box option from the overlay submenu. The axes 
  364. disappear and are replaced by a box that contains the entire 
  365. dataset. This box provides a reference frame for dispersed or 
  366. poorly connected data, and provides a visual cue for orientation.
  367. While the box is displayed, choose labels from the overlay 
  368. submenu. The labels reappears in the scene, this time at the 
  369. corners of the box where the axes used to end.
  370.  
  371. Choose box again, and the overlay disappears.
  372.  
  373. Finally choose outlines, the last option in the submenu. The View 
  374. window now displays all of the polygons as outlined in white.
  375.  
  376. You'll find the outlines option useful when you want to see the 
  377. original polygonal mesh while still displaying the object as a 
  378. solid.
  379.  
  380. Deactivate the outlines by choosing outlines again.
  381.  
  382.  
  383. Animating Datasets
  384. PolyView animates multiple datasets contained in an HDF Vset 
  385. file. The animate submenu provides animation controls. Using 
  386. the submenu, you can set the animation running backward or 
  387. forward for a single frame or a continuous "movie," or you can 
  388. stop the animation sequence once it has started.
  389.  
  390. NOTE:  Because the demonstration file, demo.hdf, contains only 
  391. one frame, animation commands will have no effect in this 
  392. tutorial.
  393.  
  394.  
  395. Taking a Flight
  396. One of the most popular features of PolyView is the fly file, which 
  397. allows examination of image data as it moves the camera and 
  398. focus through 3D space.
  399.  
  400. The flight is entirely described by an ASCII file, and is chosen at 
  401. program startup by specifying the -fly switch on the command 
  402. line. This tutorial uses the demo.fly file, which is printed in 
  403. Appendix B, "Example Fly File."
  404.  
  405. Select the Fly option from the View menu. The flight described by 
  406. the fly file begins. The camera moves from its initial location, to 
  407. the end of a row of tetrahedrons, and then continues its flight 
  408. through the dataset.
  409.  
  410. Notice that both the camera and the camera's focus change as the 
  411. file executes. You can control the camera's position with from 
  412. statements in the fly file and the camera's focus with at 
  413. statements.
  414.  
  415. Open another shell window and display demo.fly using an editor 
  416. such as vi or emacs. See if you can follow the course of the flight 
  417. from the statements in the file.
  418.  
  419. Try changing viewing parameters from the View menu during the 
  420. flight. Note that the flight pauses while you select from the menu 
  421. and then continues once you select an item.
  422.  
  423. Select the Fly  option again to stop the flight. Choosing Fly again 
  424. restarts the flight from the beginning.
  425.  
  426.  
  427. Taking Snapshots
  428. Another way you can relay results to others is through still raster 
  429. images. PolyView can write a still image of any scene from the 
  430. View window to an HDF 8-bit raster image format file. You may 
  431. then display, annotate, or make the image into a slide using other 
  432. NCSA software like NCSA Image, NCSA ImageIP, 
  433. NCSA X Image, and NCSA Layout.
  434.  
  435. Position the camera and select the viewing parameters for an 
  436. image that you find interesting. Choose the Write HDF option from 
  437. the View menu. PolyView creates a file called ris8.hdf that 
  438. contains the image and its associated palette.
  439.  
  440.  
  441. Using Other Options
  442. Occasionally, you will use the Pop, Redraw, and Reset  options. Pop 
  443. brings the View window to the foreground, on top of all other 
  444. windows. Redraw regenerates the image in the View window in 
  445. case it gets corrupted. Reset returns the camera position and 
  446. camera focus to their start-up values and resets the viewing 
  447. parameters.
  448.  
  449.  
  450. Exiting NCSA PolyView
  451.  
  452. You are now at the end of the tutorial. After experimenting further 
  453. with the program, you may wish to quit. Do so by either pressing the 
  454. Esc key while in the View or Palette windows, or by selecting the 
  455. quit  submenu from the View menu.
  456.  
  457. In either case, the Confirm submenu (Figure 1.10) confirms any 
  458. effort to shutdown the program. 
  459.  
  460. Figure 1.10    Confirm Menu
  461.                   
  462.  
  463.  
  464. Choosing Yes, really! quits the program. No, not really leaves 
  465. PolyView running.
  466.